Termination Proof Script

Consider the TRS R consisting of the rewrite rules
1:    minus(n__0,Y)  → 0
2:    minus(n__s(X),n__s(Y))  → minus(activate(X),activate(Y))
3:    geq(X,n__0)  → true
4:    geq(n__0,n__s(Y))  → false
5:    geq(n__s(X),n__s(Y))  → geq(activate(X),activate(Y))
6:    div(0,n__s(Y))  → 0
7:    div(s(X),n__s(Y))  → if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0)
8:    if(true,X,Y)  → activate(X)
9:    if(false,X,Y)  → activate(Y)
10:    0  → n__0
11:    s(X)  → n__s(X)
12:    div(X1,X2)  → n__div(X1,X2)
13:    minus(X1,X2)  → n__minus(X1,X2)
14:    activate(n__0)  → 0
15:    activate(n__s(X))  → s(activate(X))
16:    activate(n__div(X1,X2))  → div(activate(X1),X2)
17:    activate(n__minus(X1,X2))  → minus(X1,X2)
18:    activate(X)  → X
There are 18 dependency pairs:
19:    MINUS(n__0,Y)  → 0#
20:    MINUS(n__s(X),n__s(Y))  → MINUS(activate(X),activate(Y))
21:    MINUS(n__s(X),n__s(Y))  → ACTIVATE(X)
22:    MINUS(n__s(X),n__s(Y))  → ACTIVATE(Y)
23:    GEQ(n__s(X),n__s(Y))  → GEQ(activate(X),activate(Y))
24:    GEQ(n__s(X),n__s(Y))  → ACTIVATE(X)
25:    GEQ(n__s(X),n__s(Y))  → ACTIVATE(Y)
26:    DIV(s(X),n__s(Y))  → IF(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0)
27:    DIV(s(X),n__s(Y))  → GEQ(X,activate(Y))
28:    DIV(s(X),n__s(Y))  → ACTIVATE(Y)
29:    IF(true,X,Y)  → ACTIVATE(X)
30:    IF(false,X,Y)  → ACTIVATE(Y)
31:    ACTIVATE(n__0)  → 0#
32:    ACTIVATE(n__s(X))  → S(activate(X))
33:    ACTIVATE(n__s(X))  → ACTIVATE(X)
34:    ACTIVATE(n__div(X1,X2))  → DIV(activate(X1),X2)
35:    ACTIVATE(n__div(X1,X2))  → ACTIVATE(X1)
36:    ACTIVATE(n__minus(X1,X2))  → MINUS(X1,X2)
The approximated dependency graph contains one SCC: {20-30,33-36}.
Tyrolean Termination Tool  (194.51 seconds)   ---  May 3, 2006